package com.shujia.day13;

public class Code13Digui {
    public static void main(String[] args) {
        /*
            递归（迭代）函数：
                1.会调用自身函数
                2.停止标记
                3.控制语句

            错误：
                java.lang.StackOverflowError
                Stack表示是栈
         */

        // 阶乘： 5 * 4 * 3 * 2 * 1

        System.out.println(sum(5));
    }

    public static int sum(int num){
//        if(num == 1){
//            return 1;  // 2.停止标记 停止调用本身
//        }else {
//            return num * sum(num -1); // 调用自身函数  控制语句 控制传参不断减小
//        }
        return num * sum(num -1);  // 如果没有停止标记 那么会报 java.lang.StackOverflowError
    }
}
